package classifiers;

import java.util.LinkedList;
import java.util.List;

public class SVMParameters implements Parameters {

	private static final String cost_parameter_description = "cost - defines the penalty for incoreclty classiying each instance";
	private static final String gamma_parameter_description = "gamma - defines exponent in the radial-basis kernel function ";

	private static final List<String> parameter_descriptions;
	private static final List<String> parameter_names; 
	
	static{
		parameter_names = new LinkedList<String>();
		parameter_names.add("cost");
		parameter_names.add("gamma");
		parameter_descriptions= new LinkedList<String>();
		parameter_names.add(cost_parameter_description);
		parameter_names.add(gamma_parameter_description);
	}
	
	private double cost,gamma;
	
	public SVMParameters(double cost, double gamma) {
		super();
		this.cost = cost;
		this.gamma = gamma;
	}
	
	public double getCost() {
		return cost;
	}

	public double getGamma() {
		return gamma;
	}

	@Override
	public List<String> getParametersDescription() {
		return parameter_descriptions;
	}

	@Override
	public List<String> getParametersValues() {
		LinkedList<String> res = new LinkedList<String>();
		res.add(Double.toString(cost));
		res.add(Double.toString(gamma));
		return res;
	}

	@Override
	public List<String> getParametersNames() {
		return parameter_names;
	}

}
